本文將詳細說明如何在 Ubuntu 25.04 環境中,透過 Jenkins 自動化部署 Velo 部落格。
一、建立必要目錄
# 建立 Velo 安裝目錄
sudo mkdir /var/lib/velo
# 建立部落格目錄
sudo mkdir /var/www/velo-blog
二、設定目錄權限
2.1 建立專用群組並加入 Jenkins 使用者
建立群組 velo-blog-access 專門管理部落格的權限。
# 若群組尚未存在,則建立群組
sudo addgroup velo-blog-access
# 將 Jenkins 使用者加入此群組
sudo adduser jenkins velo-blog-access
提示:將使用者加入群組後,需要重啟 Jenkins 服務,新的權限才會完全生效。
sudo systemctl restart jenkins
2.2 調整部落格目錄的擁有權與權限
設定 /var/www/velo-blog/ 目錄的群組擁有者為 velo-blog-access,並賦予適當權限。
# 將群組擁有者設定為 velo-blog-access(-R 遞迴套用所有子項)
sudo chown -R root:velo-blog-access /var/www/velo-blog/
# 設定目錄權限為 775(擁有者與群組皆可讀寫執行,其他人僅可讀與執行)
sudo chmod -R 775 /var/www/velo-blog/
# 設定 setgid 標記,確保未來新增的檔案自動繼承群組權限
sudo chmod g+s /var/www/velo-blog/
三、安裝與設定 Velo
3.1 下載並安裝 Velo
以下以最新版本 v1.0.4 為範例:
cd /var/lib/velo
wget https://github.com/leoshiang/velo/releases/download/20250719/velo-v1.0.4-linux-arm64.zip
unzip velo-v1.0.4-linux-arm64.zip
sudo rm velo-v1.0.4-linux-arm64.zip
3.2 設定 Velo 執行權限
確保 jenkins 使用者有權限執行 Velo。
sudo chmod +x velo
3.3 建立並編輯設定檔
sudo rm velo.config.json.example
sudo touch velo.config.json
sudo nano velo.config.json
在編輯器內貼上以下內容:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"System": "Warning"
}
},
"BlogContentPath": "/var/lib/jenkins/workspace/publish-velo-blog",
"BlogSettings": {
"HtmlOutputPath": "/var/www/velo-blog",
"TemplatePath": "/var/lib/velo/templates/default",
"ImageOutputPath": "/var/www/velo-blog/images",
"ClearOutputDirectoryOnStart": true,
"AutoAddYamlHeader": true,
"AutoSaveModified": true
}
}
儲存並離開編輯器(按下 Ctrl+O,輸入 Y 後按 Enter,再按 Ctrl+X)。
3.4 調整 Velo 目錄權限
最後,將 Velo 目錄的群組擁有者設定為 velo-blog-access,並設置適當權限:
# 更改群組擁有者為 velo-blog-access
sudo chown -R root:velo-blog-access /var/lib/velo
# 設定目錄權限為 775(擁有者與群組皆可讀寫執行,其他人僅可讀與執行)
sudo chmod -R 775 /var/lib/velo
四、Jenkins 腳本
在 Jekins 的 Job 執行以下指令(前面設定 git 的步驟略過)
#!/bin/bash -l
/var/lib/velo/velo
完成上述步驟後,即可透過 Jenkins 順利地發布並管理你的 Velo 部落格。